package com.newx.open.sign;

import com.newx.open.util.NewxManager;
import org.springframework.beans.factory.annotation.Autowired;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * API 参数签名算法 - 工具类
 * @author yxl
 * @date 2024/7/26 0026 10:22
 */
public class NewxSignUtil {

    @Autowired
    private NewxSignTemplate newxSignTemplate;

    /**
     * 校验：一个请求的 nonce、timestamp、sign 是否均为合法的，如果不合法，则抛出对应的异常
     * @param request 待校验的请求对象
     */
    public static void checkRequest(HttpServletRequest request,String appSecret) {
        NewxManager.getNewxSignTemplate().checkRequest(request,appSecret);
    }

    /**
     * 获得签名
     * @param paramsMap 待校验的请求对象
     */
    public static String getSign(Map<String, Object> paramsMap,String appSecret) {
        return NewxManager.getNewxSignTemplate().createSign(paramsMap,appSecret);
    }
}
